cmake_minimum_required(VERSION 3.16)

# 定义工程名称与使用的语言
project(ThreadPool LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

# 可选：为 Release 模式默认开启 O2 优化
if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE Release CACHE STRING "" FORCE)
endif()

if(MSVC)
    add_compile_options(/W4 /permissive-)
else()
    add_compile_options(-Wall -Wextra -Wpedantic)
endif()

# add_subdirectory(06)
# add_subdirectory(09)
# add_subdirectory(11)
# add_subdirectory(12_13)
# add_subdirectory(14)
# add_subdirectory(15)
# add_subdirectory(16)
# add_subdirectory(17)
# add_subdirectory(18)
# add_subdirectory(19_20_21)
# add_subdirectory(22_23_24)
# add_subdirectory(25)
# add_subdirectory(26_27)
# add_subdirectory(28)
add_subdirectory(32_33_34)